package cn.xiaolang.function.design_pattern.strategyAdapter;

import lombok.extern.slf4j.Slf4j;

/**
 * 策略模式的应用实例
 */
@Slf4j
public class OptimizeApplySample {


    public static void main(String[] args) {
        double originalPrice = 1000d;
//        System.out.println(settleAmount(PayTypeEnum.PAY_BANK, originalPrice));
//        System.out.println(settleAmount(PayTypeEnum.PAY_ALI_PAY, originalPrice));
//        System.out.println(settleAmount(PayTypeEnum.PAY_WEB_CHAT, originalPrice));
    }

    private static double settleAmount(PayTypeEnum payTypeEnum, double originalPrice) {
        return SettlementFactory.getInstance().getStrategy(payTypeEnum).settlement(originalPrice);
    }

//    private static double settleAmount(PayTypeEnum payTypeEnum, double originalPrice) {
//        if (PayTypeEnum.PAY_BANK.equals(payTypeEnum)) {
//            return originalPrice * 0.9;
//        } else if (PayTypeEnum.PAY_ALI_PAY.equals(payTypeEnum)) {
//            return originalPrice * 0.95;
//        } else if (PayTypeEnum.PAY_WEB_CHAT.equals(payTypeEnum)) {
//            return originalPrice * 0.8;
//        }
//        return originalPrice;
//    }


}
